package com.itdachang.design.creatation.factory.abstractFactory;

/**
 * 抽象出来
 *      可以抽象成接口（只有方法）、抽象类（有些属性也需要用到）
 * 工厂模式 什么时候用到
 * NumberFormat、SimpleDateFormat
 * LoggerFactory
 * SqlSessionFactory Mybatis
 * BeanFactory Spring的Bean工厂 造出Bean
 * @author gcq
 * @Create 2022-02-07
 */
public class MainTest {
    public static void main(String[] args) {
        WuLinFactory wuLinFactory = new WuLinHangZhouMaskCarFactory();
        AbstractCar abstractCar = wuLinFactory.newCar();

        AbstractMask abstractMask = wuLinFactory.newMask();
        abstractMask.protectedMe();


        wuLinFactory = new WuLinWuHanMaskCarFactory();
        AbstractMask abstractMask1 = wuLinFactory.newMask();
        abstractMask1.protectedMe();
    }
}